package com.yfp.operation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.operation.domain.MarCouponPackShop;
import com.yfp.operation.domain.TagCombo;

import java.util.List;

/**
 *
 * @description 针对表【mar_coupon_pack_shop(礼包销售)】的数据库操作Service
 * @createDate 2024-10-22 09:53:40
 */
public interface MarCouponPackShopService extends IService<MarCouponPackShop> {
    /**
     * 新增
     *
     * @param marCouponPackShop
     */
    void create(MarCouponPackShop marCouponPackShop);

    /**
     * 编辑
     *
     * @param marCouponPackShop
     */
    void edit(MarCouponPackShop marCouponPackShop);

    /**
     * 分页
     *
     * @param marCouponPackShop
     * @return
     */
    List<MarCouponPackShop> list(MarCouponPackShop marCouponPackShop);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    MarCouponPackShop findById(Long id);

    /**
     * 查询
     *
     * @param sort
     * @param status
     * @return
     */
    List<MarCouponPackShop> findBySortAndStatus(Integer sort, Integer status, String cityName);


    /**
     * 查询是否有上架的礼包
     *
     * @param packId
     * @param status
     * @return
     */
    MarCouponPackShop findByPackId(Long packId, Integer status);

    /**
     * 上架
     *
     * @param id
     */
    void merchandize(Long id);

    /**
     * 下架
     */
    void unshelve(Long id);

    /**
     * 查询排序
     *
     * @return
     */
    Integer findSort(String cityName);

    /**
     * 查询套餐标签
     *
     * @param tagId
     * @return
     */
    TagCombo findTagComboById(String tagId);

    /**
     * 根据优惠券礼包ID查询
     *
     * @param invalidMarCouponPackIds
     * @return
     */
    List<MarCouponPackShop> findByPackIds(List<Long> invalidMarCouponPackIds);

    /**
     * 批量修改状态
     *
     * @param packShopIds
     * @param status
     */
    void updateStatusByIds(List<Long> packShopIds, int status);
}
